# -*- coding: utf-8 -*-

from django.db import models

class Cliente(models.Model):
    nome = models.CharField(u'Nome do Cliente', max_length=50)
    rg  = models.CharField(u'Identidade', max_length=20, blank=True, null=True)
    cpf = models.CharField(u'CPF', max_length=11, blank=True, null=True)
    vencimento = models.IntegerField(u'Dia de pagamento', blank = True, null = True)
    debito = models.DecimalField('Dívida', max_digits = 10, decimal_places = 2, blank = True, null = True)

    def __unicode__(self):
        return self.nome

class Telefone(models.Model):
    ddd = models.CharField(u'DDD', max_length=3, blank = True, null = True, default = '')
    numero = models.CharField(u'Número do Telefone', max_length=12)
    operadora = models.CharField(u'Operadora', max_length=20, blank=True, null=True, choices = (('Tim', 'Tim'), ('Claro', 'Claro'), ('Oi', 'Oi'), ('Vivo', 'Vivo'), ('Fixo', 'Fixo')))
    cliente = models.ForeignKey(Cliente)  

    def __unicode__(self):
        self.numero = '(' + self.ddd + ') ' + self.numero
        
        
        if self.operadora:
            return self.numero + ' - Op.: ' + self.operadora
        else:
            return self.numero
    
    def save(self, *args, **kwargs):
        import string
        for i in string.letters + string.punctuation + ' ':
            self.numero = self.numero.replace(i, '')
        
        super(Telefone, self).save(*args, **kwargs)

class Email(models.Model):
	email = models.EmailField('E-mail')
	cliente = models.ForeignKey(Cliente)

class Endereco(models.Model):
    rua = models.CharField(u'Rua', max_length=100, null=True, blank=True)
    cidade = models.CharField(u'Cidade', max_length=50, blank=True, null=True)
    referencia = models.CharField(u'Ponto de Referência', max_length=50, blank=True, null=True)
    cep = models.CharField(u'CEP', max_length=8, blank=True, null=True)
    cliente = models.ForeignKey(Cliente)

    def __unicode__(self):
        return self.rua + '. Ref.: ' + self.referencia + '. CEP: ' + self.cep + '. ' + self.cidade
    

class Cartao_Credito(models.Model):
    class Meta:
        verbose_name = "Cartão de Crédito"
        verbose_name_plural = "Cartões de Crédito"
    nome = models.CharField(u'Nome no Cartão', max_length=30, blank=True, null=True)
    numero = models.CharField(u'Número do cartão de crédito', max_length=19, blank=True, null=True)
    codigo_seguranca = models.CharField(u'Código de Segurança', max_length=3, blank=True, null=True)
    operadora = models.CharField(u'Bandeira do Cartão', max_length=30, null=True, blank=True, choices = ( ('VISA', 'VISA'), ('Master Card', 'Master Card'), ('American Express','American Express'), ('Elo', 'Elo'), ('Hipercard', 'Hipercard') ) )
    data = models.CharField(u'Data de Validade', max_length=7, null=True, blank=True)
    cliente = models.ForeignKey(Cliente)
    
    def __unicode__(self):
        return self.nome + ' - ' + self.operadora
